package com.example.system.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.system.entity.AppointmentScheduler;
import org.apache.ibatis.annotations.Mapper;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author 王鹤蒲
 * @since 2024-01-29
 */
@Mapper
public interface AppointmentSchedulerMapper extends BaseMapper<AppointmentScheduler> {

    public Page<AppointmentScheduler> findByPage(Page<AppointmentScheduler> page, Integer doctorId, Integer departmentId, LocalDate workDate, String dayPart, String status);

    public Page<AppointmentScheduler> findAppointmentSchedulerInfosByDepartmentId(Page<AppointmentScheduler> page,Integer departmentId);

    public List<AppointmentScheduler> findDepartmentAppointmentScheduler(Integer departmentId, String startDate, String endDate);
    public List<AppointmentScheduler> selectAppointmentSchedulerDetailInfos(Integer departmentId,String workDate,String dayPart);

    public List<AppointmentScheduler> selectDoctorSchedulerInfo(Integer userId,String currentMonth);

    public List<Map<String,Object>> selectSuspendNoticeList();

}
